Introduction Novell's NetWare MHS product family provides a messaging infrastructure service. With the introduction of NetWare 4.0, MHS is able to provide a new level of service, particularly with respect to directory support. Because messaging is by nature a fully distributed service that is used on a network-wide basis, the concept of a directory is very important. NetWare Global MHS is Novell's NLM-based messaging product that includes messaging-specific directory support designed to (1) service environments without NetWare 4.0, (2) integrate NetWare 3.X messaging environments with NetWare 4.0, and (3) propagate message routing information. This approach allows NetWare Global MHS to provide the complete messaging solution required by customers and MHS application developers. Directory integration of NetWare 3.X and NetWare 4.0 is made possible because the NetWare Global MHS directory is structurally identical to NetWare 4.0 directory service (NDS), permitting a single, hierarchical name space to be visible to both NetWare 4.0 users and NetWare 3.X users. NetWare MHS NetWare MHS is a store-and-forward messaging technology that provides messaging and directory services to any desktop that has file access to a NetWare server (e.g. DOS, Windows, Macintosh, Unix, and OS/2), and to disconnected laptops. MHS is typically used in conjunction with messaging applications such as e-mail, calendaring, and network fax. Commercial third party products include DaVinci's eMail and Coordinator, Beyond's BeyondMail, Reach's MailMAN and WorkMAN, Powercore's WinMail, Infinite's ExpressIT!, Notework's Notework, Futurus' Team, MicroSystems Software's CaLANdar, Campbell Services' OnTime, Castelle's FaxPress, Lantec's XPost, Optus' FACSys, CE Software's QuickMail, Transend's CompletE-Mail, and many others (see the NetWare Messaging Solutions Guide). In addition, MHS comes with a starter e-mail package, FirstMail, to enable the user to get started with messaging. Submitting a message to MHS is as easy as creating a text file with appropriate headers and giving MHS access to the new file. This simplicity makes it easy for third parties to develop applications and for system integrators and corporate developers to utilize the messaging system. For example, an e-mail message may look like this: smf-71 To: Bob Smith @ marketing . acme From: Tim Johnson @ engineering . acme Subject: Q1 Results? Are the quarterly results in yet? Once a message has been submitted, MHS takes the message and determines how to route it through the messaging system. MHS implements various messaging protocols, including the standard MHS protocols as well as other industry standards such as SMTP, SNADS, and X.400. After sending a message through the messaging system, MHS delivers the message into a file that the recipient's application may access. In addition to the messaging service, MHS provides a directory system for use by MHS and its applications. An application gains access to directory information by opening a shared file on the NetWare server that contains information about which users are on the messaging system. E-mail applications typically use this information to provide point-and-click lists to the users. The naming scheme for MHS is hierarchical. For example, Bob Smith's MHS name is formed from this tree: BobSmith @ marketing . acme. The nodes in the naming tree that aren't leaf nodes are called workgroups. Thus Acme is a workgroup that contains two other workgroups, marketing.acme, and engineering.acme. This hierarchical naming scheme allows a single unique global name for all MHS messaging users to ensure that no two MHS messaging users in the world have the same MHS name. In addition, this naming scheme is structurally identical to NetWare 4.0 directory services (NDS). Applications can also gain access to the directory information. They typically use this information to provide point-and-click lists to the users. MHS provides this information in the form of an extract file. The extract file contains sorted records in a fixed length format. Each record contains information about a user of the messaging system, such as mail address, phone number, title, department, etc. The sharing of directory information between servers is accomplished through a subscription mechanism. This mechanism is another characteristic of the NetWare Global MHS directory that logically relates to NDS functionality. By subscribing to a "foreign" workgroup, the names of all users in this workgroup are appended to the current workgroup and appear to be locally accessible. NetWare Global MHS The NetWare Global MHS product provides scalable, fully integrated MHS services to NetWare 3.X users. A version of NetWare Global MHS which is fully NetWare 4.0 "aware" will be released in Q3 '93. Implemented as a set of NetWare Loadable Modules (NLMs) for NetWare 3.X and NetWare 4.0, NetWare Global MHS enables the network operating system to support a complete messaging infrastructure. This approach allows messaging services to be easily installed, and capitalizes on existing NetWare investments. NetWare Global MHS provides built-in directory support, routing, workgroup-to-workgroup connectivity, and offers optional protocol modules for messaging interoperability with users on SMTP, SNADS, and X.400 systems. In order to understand how Global MHS and NetWare 4.0 work together, it is important to understand the directory synchronization mechanisms implemented by Global MHS in the NetWare 3.X environment. Users and their associated mailboxes can be added to a server in a 3.X environment through the administrative utility in Global MHS. That server becomes the "owner" of that user object, and it commands the right to modify or delete the object. The fact that this object exists is propagated by MHS to other MHS systems by creating MHS directory synchronization messages. In addition to user information, distribution lists and workgroup information is also propagated the same way. To minimize synchronization traffic, only changes in the directory are propagated immediately. MHS will also periodically (e.g. monthly) synchronize the entire directory to ensure that all servers have the same directory information (this is useful to guard against undelivered directory synchronization messages that may have resulted from servers being down for a long period of time, or a loss of a communications link). Global MHS also uses directory synchronization messages to synchronize routing information, including which servers are connected to each other and by what protocol. Global MHS uses the user information in the directory for routing purposes. Routing in Global MHS is a two-step process. The first step is to look up the recipient's name to determine on which server the mailbox is. The second step is to examine the connectivity of the network to determine the best path to that server. Messages are then routed accordingly. NetWare 4.0 NetWare 4.0 implements a variety of new services and functionality. The feature that is particularly relevant to MHS is NetWare Directory Services (NDS). NDS implements a distributed directory database that takes over the role performed by the bindery in previous releases of NetWare. NDS is very similar in model to the X.500 international standard and to the NetWare Global MHS directory. Names in the directory are hierarchical: This is very similar to the MHS naming scheme, with the exception that NDS permits nodes in the directory tree to have a type associated with them such as organization, or common name. In the example above, "org" is short for "organization", "ou" is short for "organizational unit," and "cn" is short for "common name." Note that NDS specifies that use of these types is optional, and even when used, typing is not normally visible to the user or to the application. API access to the NDS directory is very broad, providing read and write access to a large number of objects, allowing for yellow-page search operations, comparison of attributes, modification to the schema of the directory and partition management. In addition to information about users, the directory can contain information about many other types of objectsAprinters, devices, queues, file volumes, and more. Since the schema is extensible, other types of information can be added as well. In order to facilitate management of the directory, NDS divides the tree into logical divisions or partitions. The partitions may not overlap, and each node in the tree falls into a partition. In the above example, the tree is divided into two partitions. Information about each partition is kept in a file on a server. The administrator determines where the "master copy" of the partition data resides, and where replicas of each partition (if any) are to be kept. Making replicas of partitions increases the reliability of the directory and can increase the performance of the directory. If a query to the directory is made and the currently attached server does not have the information locally, it will refer the requester to a server that does have the information. The effect of replicated partitions is very similar to the Global MHS subscription mechanism. MHS in a NetWare 4.0 Environment Single Naming Scheme Using NetWare Global MHS in a NetWare 4.0 environment provides the administrator with a single unified view of the naming scheme. A user is given a name such as Joe Jones@marketing.acme. This single name is used as a unique network identity for the user regardless of the usageAnetwork login, file access control lists, point and click lists in email applications, and other applications, administrative programs and utilities. Single Point of Administration Using MHS in the NetWare 4.0 environment brings a new level of integration between NetWare and MHS. The standard administration utilities that come with NetWare can be used to administer mail accounts. One of the attributes of the user object in NDS is used to identify where the mailbox for that user resides. When this attribute is set, NDS notifies MHS, which takes care of the administrative details such as setting up the user's account A creating the necessary file directories, and, if appropriate, updating the MHS routing tables, and notifying other MHS systems that don't have access to NDS (more on this later). In addition to the NetWare utilities for managing users, workgroups, and distribution lists, MHS provides administrative utilities for managing other aspects of the messaging system such as configuring the messaging connectivity, management of the messaging queues, viewing of messaging statistics and network utilization, etc. Remote Administration NetWare 4.0 implements a network-wide view of services. This allows the entire network to be administered from the vantage point of a single-user interface. Global MHS capitalizes on this feature to provide remote administration of the MHS messaging system. Using the standard NetWare 4.0 utilities NETADMIN (DOS version), or NWADMIN (Windows version), an administrator can add users with mailbox accounts on servers throughout the 4.0 network. In contrast, using Global MHS in the NetWare 3.X environment requires the user to use, for example, RCONSOLE to connect to each messaging server to which a mailbox is to be added. Directory Synchronization Global MHS leverages the powerful directory services provided with NetWare 4.0. When a user is added to the NetWare 4.0 network, NDS replicates that information as needed throughout the network, relieving Global MHS from that responsibility. In contrast, Global MHS in the NetWare 3.X environment, by necessity, propagates information about new users added to the system to other Global MHS systems using directory synchronization messages. On each system with Global MHS, NDS invokes MHS to perform the necessary account administration and updates the MHS routing database and extract file. API Access With MHS running on NetWare 4.0, all of the same interfaces that are provided throughout the MHS product family are fully supported. MHS provides SMF v70 and SMF v71 APIs, and maintains all of the administrative interfaces common to the product lineAthe same "snd" directory for submitting messages, the same extract file for accessing the messaging directory, the same configuration files for setting up auto-forwarding, etc. An application written to support Global MHS in the NetWare 3.X environment will continue to operate in the 4.0 environment without any modification, and all messaging relevant directory information is available using the file-based extract mechanism. The administrator controls the contents of the extract file by setting up local NDS replicas of the pieces of the directory tree he desires to be accessible to his messaging users. Future versions of SMF will also incorporate additional information relevant to messaging services in order to satisfy ongoing developer requirements and the evolution of NDS. In addition to the usual access to the extract file, applications can use the NDS APIs to get access to the directory information. These APIs provide powerful interfaces for directory services, including directory searches, modification to the directory schema, and management of the directory partitions. Third-party developers wishing to take advantage of these features will create applications fine-tuned for the NetWare 4.0 environment, whereas developers desiring to have a single product that will run across the entire NetWare messaging product line will continue to use the messaging directory interfaces. Theory of Operation The following diagram shows the components involved in the messaging and directory system. The system is administered from a workstation running standard NetWare utilities. When a new user is added to the network, NDS notifies MHS. Should the administrator wish to assign a mailbox location for the user, the mailbox must be located on a server where partition information containing the user, master or replica, is stored. When the mailbox is assigned, MHS will create the actual mailbox and update the routing and extract files. MHS will also take care of updating other workgroup routing and extract files through its normal synchronization process. Global MHS also maintains synchronization of routing information. Routing information is administered through Global MHS administration utilities and is propagated through its own directory synchronization messages, not through the NDS directory. The routing process in MHS takes place in the usual Global MHS fashion. For recipients in the local MHS routing database, the final destination server is determined from the routing database, and the connectivity is examined to determine the most efficient route to that server. For recipients in the local MHS domain, the message is sent to the workgroup hub for further routing. MHS consults the configured information about foreign domains for messages destined for external domains. Global MHS in a Mixed NetWare 3.X and NetWare 4.0 Environment Administrative Model Global MHS fully supports environments of mixed NetWare 3.X and NetWare 4.0 systems, each running MHS. This is the most powerful aspect of using MHS with NetWare 4.0. The directories of Global MHS on NetWare 3.X and the NetWare 4.0 systems are unified, providing a single view of the naming hierarchy. All Global MHS users on 3.X systems also appear in the directory on NetWare 4.0, and all NetWare 4.0 names in the local Global MHS domain appear in the Global MHS directories on the 3.X system. A pick list of all the available users in the directory is offered to an e-mail user on the 3.X system, regardless of whether the recipient resides on a 3.X or 4.0 system. The same is true for users on the 4.0 systemApick-lists of all the available recipients are available, regardless of where that recipient resides. On the 3.X systems, Global MHS is administered as usual. Each of the MHS servers on 4.0 systems looks exactly like the MHS systems running on the NetWare 3.X systems. There is no additional configuration or management needed on the 3.X systems to accommodate the mixed model. On the 4.0 systems, Global MHS is administered with the usual network-centric administration model pioneered in NetWare 4.0. Lastly, in a mixed environment, one of the NetWare 4.0 servers running Global MHS must be designated as the directory synchronization hub for the 3.X Global MHS directory and the NetWare 4.0 directory. Theory of Operation A combination of the Global MHS directory synchronization facilities and the NetWare 4.0 Directory Services makes the high level of integration between 3.X and 4.0 systems possible. The 3.X systems send all information on their local users to all other systems, both 3.X and 4.0, through Global MHS directory synchronization messages. The 4.0 systems send all information about their local users to all 3.X systems through Global MHS directory synchronization messages. The 4.0 systems share directory information with each other through 4.0 NDS. In addition, one of the 4.0 systems is designated to be the directory synchronization hub that adds information about the 3.X Global MHS names into the 4.0 system. As in the homogeneous 4.0 environment, the Global MHS routing database and extract file contain all the 4.0 messaging users that are contained in any local replica or master copy of an NDS partition. This information is combined with the users information in the 3.X Global MHS environment. Installation and Upgrade Features MHS provides a number of installation and upgrade options to facilitate the smooth installation and migration of network operating system and messaging services. When MHS is installed on a NetWare 4.0 system, the administrator has the option of giving mailboxes to a set of NDS users. This eliminates the tedium of having to identify where the mailbox resides for each individual NetWare 4.0 user. More importantly, the procedure for upgrading from a NetWare 3.X system that is running Global MHS to a NetWare 4.0 system with Global MHS offers the option of building the NetWare 4.0 directory from the existing hierarchical Global MHS directory. This will minimize the administrative effort and eliminate errors. Summary NetWare Global MHS provides a messaging infrastructure service for NetWare 3.X users, NetWare 4.0 users and, most importantly, for users of mixed networks. It provides an integrated, unified administrative environment as well as a uniform messaging application platform. This is primarily enabled by the complementary directory services feature included in both the NetWare Global MHS and the NetWare 4.0 products. Questions and Answers Q. Is it possible to have directory conflicts between Global MHS and NDS? A. Since there is a single unified directory, the only possible conflict is of the same nature as might occur within NDS alone. It is theoretically possible that two administrators could accidentally add the same name into the directory, for example, when two Bob Smiths start work in an organization at the same time but at different locations. If the two records are created in NetWare 4.0, NetWare will resolve the conflicts based on the time stamps of the operations. Global MHS in the NetWare 3.X environment deals with conflicts by sending an e-mail message to the system administrator asking that he manually rename one of the users. Q. How is NDS object typing supported by Global MHS? A. The typing of objects in the directory is not visible through the Global MHS administrative utilities, APIs, and MHS-based applications. The typing information is not needed for messaging. Q. How do the administrative paradigms for Global MHS and NetWare 4.0 compare? A. NetWare 4.0 and Global MHS running on 4.0 have a common paradigm since Global MHS administration in the NetWare 4.0 environment is integrated into the NetWare operating system. The NetWare 4.0 directory browsing and maintenance utilities are used to administer a single identity for each user and distribution list. Additional messaging-specific utilities are provided to administer messaging routing information, manage messaging queues, view messaging statistics, logging, accounting information, and other messaging specific functions. Q. When should an administrator use NETADMIN versus NetWare Global MHS administrative tools? A. The NetWare 4.0 utilities should be used to create and administer users and distribution lists. The NetWare Global MHS administrative tools must be used for messaging-specific information. Q. When should MHS developers use the NetWare 4.0 NDS APIs? A. It is expected that MHS developers will use the standard SMF directory interfaces for access to directory information so that applications will run uniformly in a mixed NetWare 3.X/4.0 environment. The 4.0 NDS APIs would be used to access non-messaging related objects such as network device information, manipulation of the directory access control lists, management, and to create NetWare 4.0 specific applications. Q. What is the relationship between Global MHS "subscriptions" and NDS "replicated partitions?" A. Global MHS running in the NetWare 3.X environment incorporates the notion of subscription to control the information that is replicated to a given server. The administrator subscribes to the workgroups he wants to show up in an MHS application's "point and click" lists. Similarly, portions of the NDS directory tree (partitions) may be replicated in a controlled manner across NetWare 4.0 systems. The administrator requests a local copy of a partition to be replicated for the purpose of redundancy, efficient access, and in the case of Global MHS, to provide the point-and-click list to the messaging applications. Q. Where is the mailbox located when you create a user using NETADMIN and its network wide view? A. In NetWare 4.0. a user is created as a "network" user. One of the attributes of a user indicates where the mailbox is located. Q. How are multiple addresses (users may have an MHS, X.400, or SMTP address) for each user handled? A. The MHS address is the user's only NetWare identity. However, for messaging purposes, a given user may have additional mail addresses viewed from a non-NetWare messaging system. For example, Bob may have a NetWare name of Bob@marketing. acme. Users of MHS systems would address messages to this name. Bob could also have an SMTP identity of Bob@acme.com. Users on systems using SMTP could address Bob using this SMTP name. All messages transparently arrive in Bob's mailbox. Similarly, a user who has a mailbox in a non-MHS account can be given a NetWare identity. Sally on a Unix machine may have an SMTP address of Sally@acme.com, but be given a NetWare identity of Sally@engineering.acme. Users on an MHS system can then send messages to Sally by simply supplying her MHS name. This allows MHS users to send messages without having to know whether the recipient's mailbox is in NetWare, Unix, PROFS, etc. Q. How does the upgrade from NetWare v3.11 to NetWare 4.0 work and what is the process? A. NetWare 4.0 is installed on top of v3.11. During the installation, the administrator is given the option to incorporate the 3.11 bindery into the NetWare 4.0 directory, placing all the bindery users into a single directory container. The administrator will typically choose this option if he has applications that depend on the bindery information for proper operation. Once the NetWare operating system is up, Global MHS is upgraded with a release supporting NetWare 4.0 (available in Q3 '93). The upgrade process allows the administrator to create NDS accounts using the hierarchical name that MHS uses when running in the 3.11 environment. If the administrator has already created user objects for bindery emulation, MHS creates alias objects that point from the hierarchical name to the flat bindery emulation name. Q. What additional benefits does NetWare 4.0 provide to NetWare Global MHS? A. In addition to directory and administrative advantages of running MHS on NetWare 4.0, MHS takes advantage of enhancements included in NetWare 4.0 such as memory protection, improvements in network security, data storage and wide area connectivity. These enhancements are provided to MHS through its NLM design. Q. How will interoperability with X.500 be provided? A. NetWare 4.0 and NetWare Global MHS directories were built with X.500 in mind. The hierarchical directories of NetWare map directly to the hierarchical name space of X.500. References NetWare Global MHS Administration SMF v71 Programmer's Reference NetWare Directory Services Technical Reference NetWare 4.0 Directory Services Schema Specification NetWare 4.0 NLM Library Reference NetWare 4.0 Supervising the NetWork NetWare 4.0 Utilities Reference